123 research outputs found
Recommended from our members
A subquadratic algorithm for constructing approximately optimal binary search trees
An algorithm is presented which constructs an optimal binary search tree for an ordered list of n items, and which requires subquadratic time if there is no long sublist of very low frequency items. For example, time = O(n^1.6) if the frequency of each item is at least ε/ n for some constant ε > 0.A second algorithm is presented which constructs an approximately optimal binary search tree. This algorithm has one parameter, and exhibits a tradeoff between speed and accuracy. It is possible to choose the parameter such that time = O(n^1.6) and error = o(l)
Recommended from our members
Length limited coding and optimal height-limited binary trees
A new O(nL)-time algorithm is given for finding an optimal prefix-free binary code for a weighted alphabet of size n, with the restriction that no code string be longer than L. An O(nL logn)-time algorithm is given for the corresponding alphabetic problem problem, which is equivalent to optimizing a dictionary of n words, implemented as a binary tree of height
Recommended from our members
Packing items from a triangular distribution
We consider the problem of packing n items which are drawn according to a probability distribution whose density function is triangular in shape. For triangles which represent density functions whose expectation is 1/p for p = 3, 4, 5, ..., we give a packing strategy for which the ratio of the number of bins used in the packing to the expected total size of the items asymptotically approaches 1
Self-Stabilizing Token Distribution with Constant-Space for Trees
Self-stabilizing and silent distributed algorithms for token distribution in rooted tree networks are given. Initially, each process of a graph holds at most l tokens. Our goal is to distribute the tokens in the whole network so that every process holds exactly k tokens. In the initial configuration, the total number of tokens in the network may not be equal to nk where n is the number of processes in the network. The root process is given the ability to create a new token or remove a token from the network. We aim to minimize the convergence time, the number of token moves, and the space complexity. A self-stabilizing token distribution algorithm that converges within O(n l) asynchronous rounds and needs Theta(nh epsilon) redundant (or unnecessary) token moves is given, where epsilon = min(k,l-k) and h is the height of the tree network. Two novel ideas to reduce the number of redundant token moves are presented. One reduces the number of redundant token moves to O(nh) without any additional costs while the other reduces the number of redundant token moves to O(n), but increases the convergence time to O(nh l). All algorithms given have constant memory at each process and each link register
Self-stabilizing K-out-of-L exclusion on tree network
In this paper, we address the problem of K-out-of-L exclusion, a
generalization of the mutual exclusion problem, in which there are units
of a shared resource, and any process can request up to units
(). We propose the first deterministic self-stabilizing
distributed K-out-of-L exclusion protocol in message-passing systems for
asynchronous oriented tree networks which assumes bounded local memory for each
process.Comment: 15 page
Recommended from our members
Layout placement for sliced architecture
This paper defines a new sliced layout architecture for compilation of arbitrary schematics (netlists) into layout for CMOS technology. This sliced architecture uses over-the-cell routing on the second metal layer. We define three different architectures with simple folding, interleaved folding and unrestricted folding. We present a linear time algorithm for placement of components in architectures with simple folding. We prove interleaved folding is NP-hard and give an algorithm of complexity O(nbH/6) for approximating an optimal module, where n is the number of components, b is the width of the least-area module, H is the total height of the components, and 6 > 0 is arbitrarily chosen. The error of this algorithm (i.e. the difference between the area of the resulting module and the optimal one) is O (nb6). We conclude the paper with a proof that the architecture with interleaved folding is as good as the architecture with unrestricted folding with respect to area minimization of the total layout
A Self-Stabilizing K-Clustering Algorithm Using an Arbitrary Metric (Revised Version of RR2008-31)
32 pagesMobile ad hoc networks as well as grid platforms are distributed, changing, and error prone environments. Communication costs within such infrastructure can be improved, or at least bounded, by using k-clustering. A k-clustering of a graph, is a partition of the nodes into disjoint sets, called clusters, in which every node is distance at most k from a designated node in its cluster, called the clusterhead. A self-stabilizing asynchronous distributed algorithm is given for constructing a k-clustering of a connected network of processes with unique IDs and weighted edges. The algorithm is comparison-based, takes O(nk) time, and uses O(log n + log k) space per process, where n is the size of the network. This is the first distributed solution to the k-clustering problem on weighted graphs
- …